Skip to content

Apply TemplateDotNetTool PR #52: staged pipelines, artifact consolidation, and OTS Software requirements#99

Merged
Malcolmnixon merged 2 commits intomainfrom
copilot/apply-template-project-updates
Mar 4, 2026
Merged

Apply TemplateDotNetTool PR #52: staged pipelines, artifact consolidation, and OTS Software requirements#99
Malcolmnixon merged 2 commits intomainfrom
copilot/apply-template-project-updates

Conversation

Copy link
Contributor

Copilot AI commented Mar 4, 2026

Pull Request

Description

Ports TemplateDotNetTool#52 into SonarMark: standardized four-section job structure across all CI jobs, a unified artifacts/ folder convention replacing scattered per-job artifact names, and a new OTS Software Requirements section in requirements.yaml.

.config/dotnet-tools.json

  • Bumped demaconsulting.reqstream 1.3.01.4.0 to enable ReqStream_EnforcementMode self-validation

.github/workflows/build.yaml

All jobs now follow consistent # === SECTION === comment structure:

  • quality-checks: version capture to artifacts/; VersionMark self-validation added; uploads as artifacts-quality
  • build: version capture to artifacts/; VersionMark self-validation added; test results to artifacts/; uploads split into artifacts-build-${{ matrix.os }} (all outputs) and packages-${{ matrix.os }} (NuGet only)
  • codeql: SARIF output routed to artifacts/; uploaded as artifacts-codeql
  • integration-test: downloads packages-${{ matrix.os }} instead of artifacts-${{ matrix.os }}; self-validation TRX to artifacts/; uploads as artifacts-validation-${{ matrix.os }}-dotnet${{ matrix.dotnet-version }}
  • build-docs: four separate artifact downloads collapsed into one pattern: 'artifacts-*' + merge-multiple: true; separate packages-ubuntu-latest download; five OTS self-validation steps added (ReqStream, BuildMark, VersionMark, SarifMark, SonarMark); all paths updated to artifacts/

.github/workflows/release.yaml

  • Downloads packages-ubuntu-latest (was artifacts-ubuntu-latest)

requirements.yaml

  • New OTS Software section with five ots-tagged requirements: SonarMark-OTS-MSTest, SonarMark-OTS-ReqStream, SonarMark-OTS-BuildMark, SonarMark-OTS-VersionMark, SonarMark-OTS-SarifMark, each linked to self-validation TRX evidence

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Related Issues

Pre-Submission Checklist

Before submitting this pull request, ensure you have completed the following:

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All tests pass: dotnet test --configuration Release
  • Self-validation tests pass:
    dotnet run --project src/DemaConsulting.SonarMark --configuration Release --framework net10.0
    --no-build -- --validate
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Linting

  • Markdown linter passes: npx markdownlint-cli2 "**/*.md" "#node_modules"
  • Spell checker passes: npx cspell "**/*.{md,cs}" --no-progress
  • YAML linter passes: yamllint .

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

No C# code changes — this PR is entirely CI workflow restructuring and requirements traceability additions. The artifacts/ folder convention ensures every job writes all outputs to a single local directory, keeping download/publish steps simple and consistent. The packages-* split keeps NuGet packages separate from test/coverage artifacts so release.yaml and integration-test jobs can download only what they need.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…tion, and OTS Software requirements

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Update project with template changes including workflow and naming Apply TemplateDotNetTool PR #52: staged pipelines, artifact consolidation, and OTS Software requirements Mar 4, 2026
@Malcolmnixon Malcolmnixon marked this pull request as ready for review March 4, 2026 16:48
@Malcolmnixon Malcolmnixon merged commit 832c61a into main Mar 4, 2026
11 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/apply-template-project-updates branch March 4, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants